home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 22.1 KB | 667 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWCntrHW.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifdef FW_BUILD_WIN
-
- #include "FWFrameW.hpp"
-
- #ifndef FWHIDNFR_H
- #include "FWCntrHW.h"
- #endif
-
- #ifndef FWSCLBAR_H
- #include "FWSclBar.h"
- #endif
-
- #ifndef FWCLUSTR_H
- #include "FWClustr.h"
- #endif
-
- #ifndef FWFRAME_H
- #include "FWFrame.h"
- #endif
-
- // ----- OS Includes -----
-
- #ifndef FWPOINT_H
- #include "FWPoint.h"
- #endif
-
- #ifndef FWCFMRES_H
- #include "FWCFMRes.h"
- #endif
-
- // ----- Foundation Includes -----
-
- #ifndef FWSOMENV_H
- #include "FWSOMEnv.h"
- #endif
-
- //========================================================================================
- // Runtime Information
- //========================================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment fwviews
- #endif
-
- //========================================================================================
- // Global declarations
- //========================================================================================
-
- WORD WM_ODFGETOBJECT = ::RegisterWindowMessage("Apple:Framework:GetObject");
-
- //========================================================================================
- // CLASS FW_CPrivWinControlHelper
- //========================================================================================
-
- FW_DEFINE_CLASS_M0(FW_CPrivWinControlHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::FW_CPrivWinControlHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinControlHelper::FW_CPrivWinControlHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CControl* control) :
- fControl(control),
- fHWnd(NULL)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::~FW_CPrivWinControlHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinControlHelper::~FW_CPrivWinControlHelper()
- {
- ::DestroyWindow(fHWnd);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::CheckForInitialize
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinControlHelper::CheckForInitialize(Environment* ev, const FW_CClassInfo& classInfo)
- {
- if (classInfo == FW_TYPEID_FROM_POINTER(this))
- this->Initialize(ev);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::Initialize
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinControlHelper::Initialize(Environment* ev)
- {
- RegisterSuperClass(GetSuperClassInfo());
-
- FW_CPlatformPoint wndLocation = fControl->GetLocation(ev).AsPlatformPoint();
- FW_CPlatformPoint wndSize = fControl->GetSize(ev).AsPlatformPoint();
-
- fHWnd = CreateHWnd(fControl->GetFrame(ev)->GetShadowWindow(ev), wndLocation, wndSize);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::RegisterSuperClass
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_CPrivWinControlHelper::RegisterSuperClass
- (FW_SPrivWinSuperClassInfo& superClassInfo)
- {
-
- FW_Boolean success = FALSE;
- WNDCLASS wc;
-
- if (::GetClassInfo(NULL, superClassInfo.fClassName, &wc))
- success = TRUE;
- else if (::GetClassInfo(NULL, superClassInfo.fOldClassName, &wc))
- {
- superClassInfo.fOldWndProc = wc.lpfnWndProc;
- superClassInfo.fWndExtraBytes = wc.cbWndExtra;
-
- wc.hInstance = FW_gInstance;
- wc.lpszClassName = superClassInfo.fClassName;
- wc.lpfnWndProc = superClassInfo.fWndProc;
- wc.cbWndExtra = superClassInfo.fWndExtraBytes + sizeof(void *);
- wc.style |= CS_GLOBALCLASS;
-
- success = ::RegisterClass(&wc);
- }
-
- if (!success)
- FW_DEBUG_MESSAGE("Unable to register Windows class!");
-
- return success;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::Move
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinControlHelper::Move(const FW_CPlatformPoint& location,
- const FW_CPlatformPoint& size)
- {
- ::MoveWindow(fHWnd, location.x, location.y, size.x, size.y, TRUE);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::SetText
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinControlHelper::SetText(const FW_CString& text)
- {
- ::SetWindowText(fHWnd, text);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::GetText
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinControlHelper::GetText(FW_CString& text) const
- {
- int len = ::GetWindowTextLength(fHWnd);
- char *windowText = new char[len + 1];
- ::GetWindowText(fHWnd, windowText, len);
-
- text.ReplaceAll(windowText);
- delete [] windowText;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinControlHelper::HWNDToHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinControlHelper* FW_CPrivWinControlHelper::HWNDToHelper(HWND hWnd)
- {
- return (FW_CPrivWinControlHelper *) ::SendMessage(hWnd, WM_ODFGETOBJECT, 0, 0);
- }
-
- //========================================================================================
- // CLASS FW_CPrivWinScrollBarHelper
- //========================================================================================
-
- FW_SPrivWinSuperClassInfo FW_CPrivWinScrollBarHelper::fSuperClassInfo =
- {
- "FW_SCROLLBAR", "SCROLLBAR", FW_CPrivWinScrollBarHelper::WindowProc, NULL, 0
- };
-
- FW_DEFINE_CLASS_M1(FW_CPrivWinScrollBarHelper, FW_CPrivWinControlHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::FW_CPrivWinScrollBarHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinScrollBarHelper::FW_CPrivWinScrollBarHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CScrollBar* scrollBar) :
- FW_CPrivWinControlHelper(ev, classInfo, scrollBar)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::~FW_CPrivWinScrollBarHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinScrollBarHelper::~FW_CPrivWinScrollBarHelper()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::Initialize
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinScrollBarHelper::Initialize(Environment* ev)
- {
- FW_CPrivWinControlHelper::Initialize(ev);
-
- FW_CScrollBar* scrollBar = FW_DYNAMIC_CAST(FW_CScrollBar, GetControl());
- FW_ASSERT(scrollBar);
-
- SetScrollRange(FW_CScrollBar::kDefaultScrollMin, FW_CScrollBar::kDefaultScrollMax);
- SetScrollPos(FW_CScrollBar::kDefaultScrollPos);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::CreateHWnd
- //----------------------------------------------------------------------------------------
-
- HWND FW_CPrivWinScrollBarHelper::CreateHWnd(HWND parent,
- const FW_CPlatformPoint& location,
- const FW_CPlatformPoint& size)
- {
- DWORD orientation = size.x > size.y ? SBS_HORZ : SBS_VERT;
-
- #ifdef FW_BUILD_WIN16
- return ::CreateWindow("FW_SCROLLBAR", "", orientation | WS_CHILD | WS_VISIBLE,
- location.x, location.y,
- size.x, size.y,
- parent, 100,
- ::GetWindowWord(parent, GWW_HINSTANCE),
- this);
- #endif
-
- #ifdef FW_BUILD_WIN32
- return ::CreateWindow("FW_SCROLLBAR", "", orientation | WS_CHILD | WS_VISIBLE,
- location.x, location.y,
- size.x, size.y,
- parent,
- (HMENU)100,
- (HINSTANCE)::GetWindowLong(parent, GWL_HINSTANCE),
- this);
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::HandleScrollMessage
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinScrollBarHelper::HandleScrollMessage(WORD sbCode, WORD currentPosition)
- {
- FW_SOMEnvironment ev;
-
- FW_CScrollBar* scrollBar = FW_DYNAMIC_CAST(FW_CScrollBar, GetControl());
- FW_ASSERT(scrollBar);
-
- FW_Fixed changeBy = ff(0);
-
- switch (sbCode)
- {
- case SB_BOTTOM:
- changeBy = scrollBar->GetScrollMax(ev) - ff(GetScrollPos());
- break;
- case SB_TOP:
- changeBy = scrollBar->GetScrollMin(ev) - ff(GetScrollPos());
- break;
- case SB_LINEDOWN:
- changeBy = scrollBar->GetMinorScrollUnits(ev);
- break;
- case SB_LINEUP:
- changeBy = -scrollBar->GetMinorScrollUnits(ev);
- break;
- case SB_PAGEDOWN:
- changeBy = scrollBar->GetMajorScrollUnits(ev);
- break;
- case SB_PAGEUP:
- changeBy = -scrollBar->GetMajorScrollUnits(ev);
- break;
- case SB_THUMBPOSITION:
- changeBy = ff(currentPosition - GetScrollPos());
- break;
- };
-
- FW_Fixed oldValue = ff(GetScrollPos()) - scrollBar->GetScrollMin(ev);
- FW_Fixed newValue = oldValue + changeBy;
-
- if (newValue < scrollBar->GetScrollMin(ev))
- newValue = scrollBar->GetScrollMin(ev);
- else if (newValue > scrollBar->GetScrollMax(ev))
- newValue = scrollBar->GetScrollMax(ev);
-
- newValue += scrollBar->GetScrollMin(ev);
-
- SetScrollPos(FixedToInt(newValue));
-
- scrollBar->ScrollPositionChanged(ev, newValue, newValue - oldValue);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::GetSuperClassInfo
- //----------------------------------------------------------------------------------------
-
- FW_SPrivWinSuperClassInfo& FW_CPrivWinScrollBarHelper::GetSuperClassInfo() const
- {
- return fSuperClassInfo;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinScrollBarHelper::WindowProc
- //----------------------------------------------------------------------------------------
-
- LRESULT CALLBACK FW_CPrivWinScrollBarHelper::WindowProc(HWND hWnd, UINT msg,
- WPARAM wParam, LPARAM lParam)
- {
- switch (msg)
- {
- case WM_CREATE:
- ::CallWindowProc((WNDPROC) fSuperClassInfo.fOldWndProc,
- hWnd, msg, wParam, lParam);
-
- // The FW_CPrivWinScrollBarHelper object is passed in to CreateWindow. Pull it
- // out and stuff it in Window extra bytes.
-
- ::SetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes,
- (long) ((LPCREATESTRUCT)lParam)->lpCreateParams);
- return 0L;
-
- case WM_PAINT:
- break;
-
- case WM_DESTROY:
- ::SetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes, 0L);
- break;
-
- default:
- // Get the Window extra bytes, which is the FW_CPrivWinScrollBarHelper object
- // for this window, and return it.
-
- if (msg == WM_ODFGETOBJECT)
- return ::GetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes);
- }
-
- return ::CallWindowProc((WNDPROC) fSuperClassInfo.fOldWndProc,
- hWnd, msg, wParam, lParam);
- }
-
- //========================================================================================
- // CLASS FW_CPrivWinButtonHelper
- //========================================================================================
-
- FW_SPrivWinSuperClassInfo FW_CPrivWinButtonHelper::fSuperClassInfo =
- {
- "FW_BUTTON", "BUTTON", FW_CPrivWinButtonHelper::WindowProc, NULL, 0
- };
-
- FW_DEFINE_CLASS_M1(FW_CPrivWinButtonHelper, FW_CPrivWinControlHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinButtonHelper::FW_CPrivWinButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinButtonHelper::FW_CPrivWinButtonHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CButton* button) :
- FW_CPrivWinControlHelper(ev, classInfo, button)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinButtonHelper::~FW_CPrivWinButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinButtonHelper::~FW_CPrivWinButtonHelper()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinButtonHelper::GetSuperClassInfo
- //----------------------------------------------------------------------------------------
-
- FW_SPrivWinSuperClassInfo& FW_CPrivWinButtonHelper::GetSuperClassInfo() const
- {
- return fSuperClassInfo;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinButtonHelper::WindowProc
- //----------------------------------------------------------------------------------------
-
- LRESULT CALLBACK FW_CPrivWinButtonHelper::WindowProc(HWND hWnd, UINT msg,
- WPARAM wParam, LPARAM lParam)
- {
- switch (msg)
- {
- case WM_CREATE:
- ::CallWindowProc((WNDPROC) fSuperClassInfo.fOldWndProc,
- hWnd, msg, wParam, lParam);
-
- // The FW_CPrivWinPushButtonHelper object is passed in to CreateWindow. Pull it
- // out and stuff it in Window extra bytes.
-
- ::SetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes,
- (long) ((LPCREATESTRUCT)lParam)->lpCreateParams);
- return 0L;
-
- case WM_PAINT:
- break;
-
- case WM_DESTROY:
- ::SetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes, 0L);
- break;
-
- default:
- // Get the Window extra bytes, which is the FW_CPrivWinPushButtonHelper object
- // for this window, and return it.
-
- if (msg == WM_ODFGETOBJECT)
- return ::GetWindowLong(hWnd, fSuperClassInfo.fWndExtraBytes);
- }
-
- return ::CallWindowProc((WNDPROC) fSuperClassInfo.fOldWndProc,
- hWnd, msg, wParam, lParam);
- }
-
- //========================================================================================
- // CLASS FW_CPrivWinPushButtonHelper
- //========================================================================================
-
- FW_DEFINE_CLASS_M1(FW_CPrivWinPushButtonHelper, FW_CPrivWinButtonHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinPushButtonHelper::FW_CPrivWinPushButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinPushButtonHelper::FW_CPrivWinPushButtonHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CPushButton* button) :
- FW_CPrivWinButtonHelper(ev, classInfo, button)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinPushButtonHelper::~FW_CPrivWinPushButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinPushButtonHelper::~FW_CPrivWinPushButtonHelper()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinPushButtonHelper::CreateHWnd
- //----------------------------------------------------------------------------------------
-
- HWND FW_CPrivWinPushButtonHelper::CreateHWnd(HWND parent,
- const FW_CPlatformPoint& location,
- const FW_CPlatformPoint& size)
- {
- #ifdef FW_BUILD_WIN16
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE,
- location.x, location.y,
- size.x, size.y,
- parent, 100,
- ::GetWindowWord(parent, GWW_HINSTANCE),
- this);
- #endif
-
- #ifdef FW_BUILD_WIN32
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE,
- location.x, location.y,
- size.x, size.y,
- parent,
- (HMENU)100,
- (HINSTANCE)::GetWindowLong(parent, GWL_HINSTANCE),
- this);
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinPushButtonHelper::MakeDefaultButton
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinPushButtonHelper::MakeDefaultButton(FW_Boolean isDefault)
- {
- unsigned long dwStyle = (unsigned long)(::GetWindowLong(fHWnd, GWL_STYLE));
-
- if (isDefault) // Make sure the button's style has BS_DEFPUSHBUTTON
- {
- if ((dwStyle & 0xFFL) == BS_DEFPUSHBUTTON)
- return;
-
- dwStyle |= BS_DEFPUSHBUTTON;
- }
- else // Make sure the button's style doesn't have
- { // BS_DEFPUSHBUTTON
-
- if (!((dwStyle & 0xFFL) == BS_DEFPUSHBUTTON))
- return;
-
- dwStyle &= ~BS_DEFPUSHBUTTON;
- }
-
- ::SetWindowLong(fHWnd, GWL_STYLE, dwStyle);
- }
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinPushButtonHelper::HandleButtonMessage
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinPushButtonHelper::HandleButtonMessage()
- {
- FW_SOMEnvironment ev;
- FW_CPushButton* button = FW_DYNAMIC_CAST(FW_CPushButton, GetControl());
- FW_ASSERT(button);
-
- button->ButtonPressed(ev);
- }
-
- //========================================================================================
- // CLASS FW_CPrivWinRadioButtonHelper
- //========================================================================================
-
- FW_DEFINE_CLASS_M1(FW_CPrivWinRadioButtonHelper, FW_CPrivWinButtonHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioButtonHelper::FW_CPrivWinRadioButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinRadioButtonHelper::FW_CPrivWinRadioButtonHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CRadioButton* button) :
- FW_CPrivWinButtonHelper(ev, classInfo, button)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioButtonHelper::~FW_CPrivWinRadioButtonHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinRadioButtonHelper::~FW_CPrivWinRadioButtonHelper()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioButtonHelper::CreateHWnd
- //----------------------------------------------------------------------------------------
-
- HWND FW_CPrivWinRadioButtonHelper::CreateHWnd(HWND parent,
- const FW_CPlatformPoint& location,
- const FW_CPlatformPoint& size)
- {
- #ifdef FW_BUILD_WIN16
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
- location.x, location.y,
- size.x, size.y,
- parent, 100,
- ::GetWindowWord(parent, GWW_HINSTANCE),
- this);
- #endif
- #ifdef FW_BUILD_WIN32
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
- location.x, location.y,
- size.x, size.y,
- parent,
- (HMENU)100,
- (HINSTANCE)::GetWindowLong(parent, GWL_HINSTANCE),
- this);
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioButtonHelper::HandleButtonMessage
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinRadioButtonHelper::HandleButtonMessage()
- {
- FW_SOMEnvironment ev;
- FW_CRadioButton* button = FW_DYNAMIC_CAST(FW_CRadioButton, GetControl());
- FW_ASSERT(button);
-
- button->ButtonPressed(ev);
- }
-
- //========================================================================================
- // CLASS FW_CPrivWinRadioClusterHelper
- //========================================================================================
-
- FW_DEFINE_CLASS_M1(FW_CPrivWinRadioClusterHelper, FW_CPrivWinButtonHelper)
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioClusterHelper::FW_CPrivWinRadioClusterHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinRadioClusterHelper::FW_CPrivWinRadioClusterHelper(Environment* ev,
- const FW_CClassInfo& classInfo,
- FW_CRadioButton* button) :
- FW_CPrivWinButtonHelper(ev, classInfo, button)
- {
- CheckForInitialize(ev, classInfo);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioClusterHelper::~FW_CPrivWinRadioClusterHelper
- //----------------------------------------------------------------------------------------
-
- FW_CPrivWinRadioClusterHelper::~FW_CPrivWinRadioClusterHelper()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioClusterHelper::CreateHWnd
- //----------------------------------------------------------------------------------------
-
- HWND FW_CPrivWinRadioClusterHelper::CreateHWnd(HWND parent,
- const FW_CPlatformPoint& location,
- const FW_CPlatformPoint& size)
- {
- #ifdef FW_BUILD_WIN16
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
- location.x, location.y,
- size.x, size.y,
- parent, 100,
- ::GetWindowWord(parent, GWW_HINSTANCE), this);
- #endif
- #ifdef FW_BUILD_WIN32
- return ::CreateWindow("FW_BUTTON", "", WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
- location.x, location.y,
- size.x, size.y,
- parent,
- (HMENU)100,
- (HINSTANCE)::GetWindowLong(parent, GWL_HINSTANCE),
- this);
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CPrivWinRadioClusterHelper::HandleButtonMessage
- //----------------------------------------------------------------------------------------
-
- void FW_CPrivWinRadioClusterHelper::HandleButtonMessage()
- {
- FW_CRadioCluster* button = FW_DYNAMIC_CAST(FW_CRadioCluster, GetControl());
- FW_ASSERT(button);
-
- // button->ButtonPressed();
- }
-
- #endif
-